package cn.bdqn.service.sys;

import cn.bdqn.entity.SysUser;
import org.springframework.security.core.userdetails.UserDetailsService;

import javax.servlet.http.HttpSession;
import java.util.List;
import java.util.Map;

/**
 * @ProjectName: ycbdqn
 * @Package: cn.bdqn.service.sys
 * @Author: huat
 * @Date: 2020/3/5 14:10
 * @Version: 1.0
 */
public interface UserService  extends UserDetailsService {
    /**
     * 进入首页并将用户信息保存到session中
     * @param session
     * @return
     */
    int updateSessionByUserId(HttpSession session);

    /**
     * 修改密码
     * @param oldPassword 用户原密码
     * @param password  用户新密码
     * @param id    用户id
     * @return
     */
    int updatePasswordByUserId(String oldPassword,String password,int id);
    /**
     * 分页查询用户
     * @param page 起始位置
     * @param limit 页面大小
     * @param username 用户名
     * @return
     */
     Map<String,Object> getAllUser(int page, int limit, String username);
    /**
     * 添加用户
     * @param sysUser 用户
     * @param roleId 用户角色id
     * @return
     */
     int addUser(SysUser sysUser, String[] roleId);

    /**
     * 根据id查询用户
     * @param id 用户id
     * @return 用户对象
     */
     SysUser getSysUser(int id);
    /**
     * 修改用户信息
     * @param sysUser 用户对象
     * @param roleId    角色id
     * @return
     */
    boolean updateUserByAdmin(SysUser sysUser, String[] roleId);

    /**
     * 通过id删除用户
     * @param id
     * @return
     */
    boolean deleteUserById(int id);
}
